/*
    同步文件读取
    异步文件读取
    简单文件读取
        fs.readFile(path[, options], callback)            
        fs.readFileSync(path[, options])
            -path       读取的路径
            -options    读取选项
            -callback   回调函数，通过回调函数的参数来返回读取到的内容（err，data）
                参数
                    err     错误对象
                    data    读到的数据会返回一个buffer
                        同步没有回调函数，是通过返回值来返回读取到的内容

    流式文件读取
        流式文件读取适用于大文件，可以分很多次读取到内存中
        创建一个可读流
            var rs =  fs.createReadStream(path);
                -path       读取路径
            我们同样可以给他添加一个开启和结束监听
            rs.once("open",funtion(){
                console.log("可读流开启");
            })
            rs.once("close",funtion(){
                console.log("可读流关闭");
            })
            如果要读取可读流的数据，必须要为可读流绑定一个data事件，data事件绑定完毕，他会自动开始读取数据
            rs.on("data",function(data){
                console.log(data);
            })
            他每次都会读取65536个字节，直到读取完
        在rs中有一个方法
            pipe()
                可以将可读流中的内容，直接输入到可写流中
                例子：
                    rs.pipe(rw);
                    相当于将rs接入到rw中
*/